package com.laf.manage.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.laf.manage.domain.po.AuthInfo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 用户认证管理Service接口
 *
 * @author zian
 * @date 2024-11-01
 */
public interface IAuthInfoService extends IService<AuthInfo> {

    /**
     * 查询用户认证管理列表
     *
     * @param authInfo 用户认证管理
     * @return 用户认证管理集合
     */
    List<AuthInfo> selectAuthInfoList(AuthInfo authInfo);

    /**
     * 上传身份证图片
     *
     * @param fileBack
     * @param fileFront
     * @return
     */
    String uploadIDCardImg(MultipartFile fileBack , MultipartFile fileFront);


    /**
     * 上传人脸图片,进行认证
     *
     * @param faceFile  uuid 和 人脸图片
     */
    String uploadFaceImg(MultipartFile faceFile, String uuid );

    /**
     * 添加认证记录
     * @param fileFront 身份图片 和 UUID
     */
    void addAuth(MultipartFile fileFront, String uuid);

    /**
     * 检查是否已经认证了
     * @return true 已认证，false 未认证
     */
    Boolean checkAuthStatus();


    /**
     * 根据主键删除凭证
     * @param id
     */
    void deleteAuthById(Long id);

    /**
     * 根据主键查询凭证
     * @param id
     * @return
     */
    AuthInfo getAuthById(Long id);

    /**
     * 判断用户是否存在凭证记录
     * @param userId 用户id
     * @return true 存在 false 不存在
     */
    boolean isAuthByUserId(Long userId);
}
